package util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;


public class DBUtils {

	private static DataSource dataSource;

	static{
		Context initContext;
		try {
			initContext = new InitialContext();
			Context envContext = (Context)initContext.lookup("java:/comp/env");
			dataSource = (DataSource)envContext.lookup("jdbc/myoracle");
		} catch (NamingException e) {
			e.printStackTrace();
		}
	}

	public static Connection createConnectionByJNDI(){
		Connection conn = null;
		try {
			conn = dataSource.getConnection();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return conn;
	}
	private static final String className = "oracle.jdbc.OracleDriver";		//ojdbc6.jar->oracle.jdbc->OracleDriver.Class
	private static final String url = "jdbc:oracle:thin:@ZHA-ITA077-w7:1521:ita3";//包装了oracle的�??议
	private static final String username = "jordan";
	private static final String psw = "123";
	
	public static Connection createConnection(){
		Connection con = null;
		try {
			Class.forName(className);
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
		try {
			con = DriverManager.getConnection(url, username, psw);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		
		return con;
	}	
	public static void close(Connection conn,PreparedStatement pst,ResultSet rs){
		try {
			if (rs!=null) {
				rs.close();
			}
			if (pst!=null) {
				pst.close();
			}
			if (conn!=null) {
				conn.close();
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		
	}
}
